#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "led01.h"


void led_init(void){
     //PA0--PA7设置为低电平
	   //使能时钟寄存器
	   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能是GPIOA
	 
	   GPIO_InitTypeDef GPIO_InitStruct;
	   GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 |GPIO_Pin_1 |GPIO_Pin_2 |GPIO_Pin_3 |GPIO_Pin_4 |GPIO_Pin_5 |GPIO_Pin_6 |GPIO_Pin_7 ;
	   GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	   GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	
	   GPIO_Init(LED_PORT,&GPIO_InitStruct);  //初始化gpioa
	   GPIO_SetBits(LED_PORT,GPIO_InitStruct.GPIO_Pin); //开始都给高电平，熄灭
	   
}

//走马灯
void led_write_data(uint16_t GPIO_Pin_from, u8 num,u8 data){
	   for(u8 i=0;i<num;i++){
		   if(data & 0x01){
				 //不亮
				  GPIO_WriteBit(LED_PORT,GPIO_Pin_from << i,Bit_SET);
			 }else{
			   //亮
				 GPIO_WriteBit(LED_PORT,GPIO_Pin_from << i,Bit_RESET);
			 }
		   data = data >> 1;
		 }
	
}